#ifndef __TEST_H__
#define __TEST_H__

#include<stdio.h>
#include <time.h>

#define  SIZE 10


void benchmark(void (*sort_func)(int[], int)) {   // 测试代码。 可以看时间。
    int arr[SIZE];
    // 生成随机/部分有序/逆序数据
    //int n = sizeof(arr) / sizeof(arr[0]);  // 计算数组长度
    struct timespec start, end;
    clock_gettime(CLOCK_MONOTONIC, &start);
    //clock_t start = clock();
    sort_func(arr, SIZE);
    //clock_t end = (clock()-start)*1000/CLOCKS_PER_SEC;
     clock_gettime(CLOCK_MONOTONIC, &end);
      long ns = (end.tv_sec - start.tv_sec) * 1000000000L 
              + (end.tv_nsec - start.tv_nsec);

   // printf("Time: %ld μs\n", (clock()-start)*1000/CLOCKS_PER_SEC);

     // 打印排序结果
    for (int i = 0; i < SIZE; i++) {
        printf("[%-10d]\t", arr[i]);
    }

    printf("\n");
    printf("Time: %ld ns\n", ns);
    printf("Time: %ld us\n", ns/1000);

}


#endif